/*
 *  Arrow
 *
 *  Created by David Giovannini on 1/5/07.
 *  Copyright 2007 Software by Jove. All rights reserved.
 *
 */
 
#include <stdexcept>

namespace SBJ
{

namespace Arrow
{

inline
Message::Message( const Topic& topic, Priority priority )
: m_topic( topic )
, m_priority( priority )
{
}

inline
Message::Message( const Message& rhs )
: m_topic( rhs.m_topic )
, m_priority( rhs.m_priority )
{
}

inline const Topic&
Message::getTopic( void ) const
{
	return m_topic;
}

inline Message::Priority
Message::getPriority( void ) const
{
	return m_priority;
}

inline bool
Message::isValid( void ) const
{
	return true;
}

inline bool
Message::doesConsume( const Message& rhs ) const
{
	return false;
}

inline void
Message::consume( Message& rhs )
{
	throw std::logic_error( "Message does not support consume" );
}

inline void
Message::invoke( Subscriber* )
{
}

}

}